#+TITLE: Readme
#+AUTHOR: Zelphir Kaltstahl
#+EMAIL: zelphirkaltstahl@posteo.de
#+STARTUP: content indent align inlineimages hideblocks entitiesplain nologdone nologreschedule nologredeadline nologrefile
#+TODO: TODO INPROGRESS | DONE
#+DATE: [2022-09-19 Mo]
#+LANGUAGE: English
#+PRIORITIES: A E E


* About

A program for exploring vocabulary files on the REPL. Hopefully providing enough useful procedures.

* Usage

Run with GNU Guile to use. Use the provided =Makefile=: ~make~

** Examples

#+begin_src scheme
  (define myvoc
    (vocabulary-filter voc
                       §not-learned
                       (make-relevance-filter 3 >=)))
  (percentage (stat-learned voc))
#+end_src

*** All native meanings of not learned HSK3 words

#+begin_src scheme
  (vector-map (λ (ind elem)
                (alist-refs elem '("translation-data" "native")))
              (vocabulary-words
               (vocabulary-filter (? voc "hsk3")
                                  §not-learned)))
#+end_src

*** Refine searches

Search results can be searched again:

#+begin_src scheme
  (? (? voc "hsk3") "grammar")

  ;; or shorter

  (?? voc "hsk3" "grammar")

  (vocabulary-filter (? voc "hsk3")
                     §not-learned)
#+end_src

*** Train vocabulary

Search results can be trained:

#+begin_src scheme
(train (?? voc "hsk3" "grammar"))
#+end_src
